package com.x.rocketmq;

import java.io.Serializable;

/**
 * MQ消息体对象
 * @author xjk
 * @date 2025-07-03
 */
public class RocketMqMessageCommand implements Serializable {

  private static final long serialVersionUID = -5201314L;

  /**
   * 消息体是否发送
   * true:发送
   * false:不发送
   * 如果不发送，则需要将消息体保存在某个持久化存储中，如MongoDB
   */
  private Boolean isMsgBodySend;

  /**
   * 消息ID
   */
  private String msgId;

  /**
   * 消息类型
   *
   * 这个消息类型是指调用MQ的业务层方法全路径名，如com.x.TestService.testMethod
   */
  private String msgType;

  /**
   * 消息内容
   *
   * 消费者真正接收的消息内容数据
   */
  private String msgBody;

  /**
   * 生产者发送时间
   */
  private String sendTime;

  /**
   * 消费者反馈时间
   */
  private String feedbackTime;

  /**
   * 消息扩展信息描述
   */
  private String msgExt;

  /**
   * 消息Topic
   */
  private String topic;

  /**
   * 消息Tag
   */
  private String tag;


  public RocketMqMessageCommand() {
  }

  public static long getSerialVersionUID() {
    return serialVersionUID;
  }

  public Boolean getMsgBodySend() {
    return isMsgBodySend;
  }

  public void setMsgBodySend(Boolean msgBodySend) {
    isMsgBodySend = msgBodySend;
  }

  public String getMsgId() {
    return msgId;
  }

  public void setMsgId(String msgId) {
    this.msgId = msgId;
  }

  public String getMsgType() {
    return msgType;
  }

  public void setMsgType(String msgType) {
    this.msgType = msgType;
  }

  public String getMsgBody() {
    return msgBody;
  }

  public void setMsgBody(String msgBody) {
    this.msgBody = msgBody;
  }

  public String getSendTime() {
    return sendTime;
  }

  public void setSendTime(String sendTime) {
    this.sendTime = sendTime;
  }

  public String getFeedbackTime() {
    return feedbackTime;
  }

  public void setFeedbackTime(String feedbackTime) {
    this.feedbackTime = feedbackTime;
  }

  public String getMsgExt() {
    return msgExt;
  }

  public void setMsgExt(String msgExt) {
    this.msgExt = msgExt;
  }

  public String getTopic() {
    return topic;
  }

  public void setTopic(String topic) {
    this.topic = topic;
  }

  public String getTag() {
    return tag;
  }

  public void setTag(String tag) {
    this.tag = tag;
  }
}
